

#ifndef _UD_DBID_APPS_H
#define _UD_DBID_APPS_H 1

#include "zadesk.h"
#include "zdbid.h"
#include "zdbid_ops.h"
#pragma pack (push, 8)

inline bool
UcDbObjectId::operator < (const UcDbObjectId& id) const
{ return c5ObjIdIsLessThan(*this, id); }

inline bool
UcDbObjectId::operator > (const UcDbObjectId& id) const
{ return c5ObjIdIsGreaterThan(*this, id); }

inline bool
UcDbObjectId::operator <= (const UcDbObjectId& id) const
{ return c5ObjIdLessThanOrEqual(*this, id); }

inline bool
UcDbObjectId::operator >= (const UcDbObjectId& id) const
{ return c5ObjIdGreaterThanOrEqual(*this, id); }

inline bool
UcDbObjectId::operator == (const UcDbObjectId& id) const
{ return c5ObjIdIsEqualTo(*this, id); }

inline bool
UcDbObjectId::operator != (const UcDbObjectId& id) const
{ return !c5ObjIdIsEqualTo(*this, id); }

inline bool
UcDbObjectId::operator < (const UcDbStub* pStub) const
{ return c5ObjIdIsLessThan(*this, pStub); }

inline bool
UcDbObjectId::operator > (const UcDbStub* pStub) const
{ return c5ObjIdIsGreaterThan(*this, pStub); }

inline bool
UcDbObjectId::operator <= (const UcDbStub* pStub) const
{ return c5ObjIdLessThanOrEqual(*this, pStub); }

inline bool
UcDbObjectId::operator >= (const UcDbStub* pStub) const
{ return c5ObjIdGreaterThanOrEqual(*this, pStub); }

inline bool
UcDbObjectId::operator == (const UcDbStub* pStub) const
{ return c5ObjIdIsEqualTo(*this, pStub); }

inline bool
UcDbObjectId::operator != (const UcDbStub* pStub) const
{ return !c5ObjIdIsEqualTo(*this, pStub); }

class UcDbR13ObjectId : public UcDbObjectId
{

public:

    bool operator < (const UcDbR13ObjectId& id) const;
    bool operator > (const UcDbR13ObjectId& id) const;
    bool operator <= (const UcDbR13ObjectId& id) const;
    bool operator >= (const UcDbR13ObjectId& id) const;
    bool operator == (const UcDbR13ObjectId& id) const;
    bool operator != (const UcDbR13ObjectId& id) const;

    bool operator < (const UcDbStub* pStub) const;
    bool operator > (const UcDbStub* pStub) const;
    bool operator <= (const UcDbStub* pStub) const;
    bool operator >= (const UcDbStub* pStub) const;
    bool operator == (const UcDbStub* pStub) const;
    bool operator != (const UcDbStub* pStub) const;

};

inline bool
UcDbR13ObjectId::operator < (const UcDbR13ObjectId& id) const
{ return c4ObjIdIsLessThan(reinterpret_cast<ZSoft::ULongPtr>(mId),
                           reinterpret_cast<ZSoft::ULongPtr>(id.mId));
}

inline bool
UcDbR13ObjectId::operator > (const UcDbR13ObjectId& id) const
{ return c4ObjIdIsGreaterThan(reinterpret_cast<ZSoft::ULongPtr>(mId),
                              reinterpret_cast<ZSoft::ULongPtr>(id.mId));
}

inline bool
UcDbR13ObjectId::operator <= (const UcDbR13ObjectId& id) const
{ return c4ObjIdLessThanOrEqual(reinterpret_cast<ZSoft::ULongPtr>(mId),
                                reinterpret_cast<ZSoft::ULongPtr>(id.mId));
}

inline bool
UcDbR13ObjectId::operator >= (const UcDbR13ObjectId& id) const
{ return c4ObjIdGreaterThanOrEqual(reinterpret_cast<ZSoft::ULongPtr>(mId),
                                   reinterpret_cast<ZSoft::ULongPtr>(id.mId));
}

inline bool
UcDbR13ObjectId::operator == (const UcDbR13ObjectId& id) const
{ return c4ObjIdIsEqualTo(reinterpret_cast<ZSoft::ULongPtr>(mId),
                          reinterpret_cast<ZSoft::ULongPtr>(id.mId));
}

inline bool
UcDbR13ObjectId::operator != (const UcDbR13ObjectId& id) const
{ return c4ObjIdNotEqualTo(reinterpret_cast<ZSoft::ULongPtr>(mId),
                           reinterpret_cast<ZSoft::ULongPtr>(id.mId));
}
inline bool
UcDbR13ObjectId::operator < (const UcDbStub* pStub) const
{ return c4ObjIdIsLessThan(reinterpret_cast<ZSoft::ULongPtr>(mId),
                           reinterpret_cast<ZSoft::ULongPtr>(pStub)); }

inline bool
UcDbR13ObjectId::operator > (const UcDbStub* pStub) const
{ return c4ObjIdIsGreaterThan(reinterpret_cast<ZSoft::ULongPtr>(mId),
                              reinterpret_cast<ZSoft::ULongPtr>(pStub)); }

inline bool
UcDbR13ObjectId::operator <= (const UcDbStub* pStub) const
{ return c4ObjIdLessThanOrEqual(reinterpret_cast<ZSoft::ULongPtr>(mId),
                                reinterpret_cast<ZSoft::ULongPtr>(pStub)); }

inline bool
UcDbR13ObjectId::operator >= (const UcDbStub* pStub) const
{ return c4ObjIdGreaterThanOrEqual(reinterpret_cast<ZSoft::ULongPtr>(mId),
                                   reinterpret_cast<ZSoft::ULongPtr>(pStub)); }

inline bool
UcDbR13ObjectId::operator == (const UcDbStub* pStub) const
{ return c4ObjIdIsEqualTo(reinterpret_cast<ZSoft::ULongPtr>(mId),
                          reinterpret_cast<ZSoft::ULongPtr>(pStub)); }

inline bool
UcDbR13ObjectId::operator != (const UcDbStub* pStub) const
{ return c4ObjIdNotEqualTo(reinterpret_cast<ZSoft::ULongPtr>(mId),
                           reinterpret_cast<ZSoft::ULongPtr>(pStub)); }

#pragma pack (pop)
#endif 
